Zum Hauptinhalt springen

Einheit 12 — Referenzkarte

Was du nach dieser Einheit hast: Alle Werkzeuge, alle Syntaxregeln und alle Fallstricke aus diesem Kurs auf einer Seite — zum Nachschlagen im Alltag.

Die 27 Werkzeuge​

Orientieren​

WerkzeugZweck
project_listProjekte auflisten
workflow_listWorkflows auflisten (Filter: project_id, include_disabled)
workflow_showAgents, Optionen, Verbindungen eines Workflows
workflow_exportPortables JSON

Nachschlagen​

WerkzeugZweck
towelscript_catalog75 Node-Typen (input 15, processing 50, output 10)
agent_docsOptionen und Dokumentation eines Agents
credential_listNamen hinterlegter Zugangsdaten
api_spec_list / api_spec_showGespeicherte OpenAPI-Spezifikationen
api_spec_post_agent_configPost-Agent-Konfiguration aus einem Endpunkt bauen

Prüfen​

WerkzeugZweck
towelscript_checkSyntax + stats
towelscript_compileAgents mit allen Optionen, GUIDs, links
towelscript_graphNodes und Kanten
towelscript_symbolsModule, Flows, Nodes mit Zeilennummern
towelscript_formatderzeit ohne Wirkung

Bauen​

WerkzeugZweck
workflow_deployNeuen Workflow anlegen
workflow_updateBestehenden Workflow abgleichen
agent_updateEinen Agent ändern
workflow_duplicateKopie anlegen
workflow_deleteLöschen — unwiderruflich

Ausführen​

WerkzeugZweck
agent_test_runDry-Run für einen Agent
workflow_runKompletten Workflow echt ausführen
message_reemitBestehende Nachricht erneut senden

Debuggen​

WerkzeugZweck
workflow_logsLogs des letzten Laufs über alle Agents
agent_logsLogs eines Agents (min_level: 3 für Details)
workflow_messagesPayloads des letzten Laufs
agent_messagesAusgaben eines Agents

Der Quelltext auf einen Blick​

module academy                        // Pflicht, Bezeichner

flow mein_workflow { // Bezeichner, KEIN String
node eingang: form { // node <name>: <typ> { … }
secret: "s" // String
timeout: 120 // Zahl
aktiv: true // Boolean
// nur // als Kommentar
felder: '[{"a":"b"}]' // einfache Quotes fuer JSON
text: """mehrzeilig
geht so""" // '''…''' ergibt LEEREN String
payload: { // Doppelpunkt! Objekt
name: "{{ name }}",
"x-header": "…" // Bindestrich-Schluessel quoten
}
rules: [ // Array von Objekten
{ type: "regex", value: "@", path: "email" }
]
token: @secret(Mein_Token) // Zugangsdaten
}

node weiter: ai { model: "gus:tav" }

eingang -> weiter // -> oder =>
}

Die Fallstricke​

FallstrickSymptomRichtig
payload { … } ohne Doppelpunktedges: [], Optionen flach, check sagt validpayload: { … }
payload = { … }Option verschwindet spurlospayload: { … }
Zwei { … }-Blöcke in einem NodeSyntaxfehler am zweitenDoppelpunkt-Form nutzen
'''…'''Leerer String"""…""" oder Backticks
Doppelte Quotes um JSON\\\" im AgentEinfache Quotes
Node in der Mitte eingefügtNachfolger bekommen neue IDsNeue Nodes ans Ende, Reihenfolge in der Kette
workflow_update ohne nameWorkflow heißt „Workflow"name und description mitgeben
agent_update ohne merge_optionsAlle anderen Optionen wegmerge_options: true
http ohne post_urlWird zu WebsiteAgenthttp.post schreiben
agent_test_run mit towelscript_type: "http.post"Unknown TowelScript node typeagent_type: "Agents::PostAgent"
Post Agent, payload als StringBody doppelt kodiertpayload als Objekt
Post Agent ohne no_mergeFremdfelder im Bodyno_merge: true
ai mit output_format: "json"Felder nicht unter generationFelder liegen oben, Eingang unter last_message
Testpayload erfundenDry-Run grün, Produktion rotPayload aus agent_messages kopieren

Was der Dry-Run wirklich tut​

Agentagent_test_run
Post Agent, POST/PUTsendet nicht, protokolliert den Request
Post Agent, GETsendet
Shell Command Agentführt nicht aus
CSV Agent, Doc Converterschreiben die Datei
Generative AI Agentruft das Modell wirklich auf

Die vier Abläufe​

Neu bauen

catalog / agent_docs → schreiben → check → graph → compile → deploy → run → messages

Ändern

export → schreiben (neue Nodes ans Ende) → check/graph/compile
→ GUIDs vergleichen → update (mit name + description) → show → reemit

Debuggen

workflow_messages (wo bricht es ab?) → agent_logs (warum?)
→ agent_update / workflow_update → message_reemit → agent_messages

Einzelnen Agent klären

workflow_show (ID + Payload-Form) → agent_messages (echte Payload)
→ agent_test_run → agent_update → wieder testen

Vorlage für deine CLAUDE.md​

# 42°flow — Arbeitsregeln

## Vor jedem Deploy
- towelscript_check, _compile UND _graph aufrufen
- graph: edges muss nodes − 1 ergeben (bei linearer Kette)
- compile: verschachtelte Optionen prüfen, links darf nicht leer sein

## Quelltext
- Verschachtelte Optionen immer `option: { … }` mit Doppelpunkt
- Einfache Quotes für eingebettetes JSON, """…""" für Mehrzeiler
- Zugangsdaten nur über @secret(Name), nie im Klartext
- Neue Nodes ans Ende des Flow-Blocks, Reihenfolge nur in der Verbindungskette

## Deploy und Update
- workflow_deploy und workflow_update immer mit name, description, project_id
- agent_update immer mit merge_options: true
- Vor workflow_delete immer workflow_export

## Post Agent
- http.post statt http
- no_merge: true, wenn nur die payload-Felder gesendet werden sollen
- payload als Objekt, nie als JSON-String

## Testen
- Testpayloads aus agent_messages des Vorgängers übernehmen, nicht erfinden
- Nach jedem Deploy einmal workflow_show und sources/receivers prüfen

Kurs abgeschlossen​

Du kannst jetzt:

  • Einschätzen, wann Designer und wann Text das richtige Werkzeug ist
  • Claude Code mit 42°flow verbinden und die Verbindung prüfen
  • Workflows vollständig als Text schreiben
  • Die Prüfkette einsetzen und Fehler erkennen, die keine Fehlermeldung erzeugen
  • Einzelne Agents testen, bevor sie produktiv laufen
  • Deployen, ausführen, debuggen und Nachrichten erneut durchschicken
  • Bestehende Workflows ändern, ohne Agent-Identitäten zu verlieren
  • Die Sicherheitsgrenzen der Schnittstelle benennen

Der Grundsatz bleibt: Die Werkzeuge nehmen dir die Mechanik ab, nicht die Verantwortung. Ein Workflow, der über MCP entstanden ist, muss dieselben Kriterien erfüllen wie jeder andere — wartbar, sicher, testbar, austauschbar, nachvollziehbar (Kurs 5, Einheit 1). Das Werkzeug ändert sich, der Maßstab nicht.